jQuery(function($){
    
    var usuario = $("#usuario");
    
    if( usuario.length>0 ) {
        if( usuario.attr("data-tipo")=="visualizar" ){
            $.ajax({
                url: '../Ajax?tipo=usuario&acao=exibirtodos',
                type: 'POST',
                data: '',
                success: function (data) {
                    var parsedData = JSON.parse(data);
                    var toMSG = '';
                    $.each(parsedData, function(index, item){

                        toMSG += '<tr data-id="'+item.id+'">';
                        toMSG += '  <td>'+item.nome+'</td>';
                        toMSG += '  <td>'+item.email+'</td>';
                        toMSG += '  <td>'+item.telefone+'</td>';
                        toMSG += '  <td>'+item.endereco+'</td>';
                        toMSG += '  <td>';
                        toMSG += '    <a class="table-remover" data-id="'+item.id+'" href="#remover-usuario" title="Remover">Remover</a>';
                        toMSG += '    <a class="table-editar" data-id="'+item.id+'" href="./usuario-editar.jsp?u_id='+item.id+'" title="Editar">Editar</a>';
                        toMSG += '  </td>';
                        toMSG += '</tr>';

                    });

                    $("tbody").html(toMSG);
                }
            });
        } //end visualizar
        else if( usuario.attr("data-tipo")=="editar" ) {
            var areaEditar = $(".extra"),
                url = URLToArray(window.location.href);
            areaEditar.hide();
                
                if( url.u_id ) {
                    // Consulta um usuario
                    $.ajax({
                        url: '../Ajax?tipo=usuario&acao=exibirum&id='+url.u_id,
                        type: 'POST',
                        data: '',
                        success: function (data) {
                            if( data!="false" ) {
                                var parsedData = JSON.parse(data);
                                parsedData = parsedData[0];
                                
                                $("#form-usuario-editar").append("<input type=\"hidden\" name=\"id\" value=\""+parsedData['id']+"\" />");
                                
                                for (var key in parsedData) {
                                    $("#form-usuario-editar input[name="+key+"]").val(parsedData[key]);
                                }
                                areaEditar.show();
                            }else {
                                $("#dialog-alert")
                                    .dialog("open")
                                    .html("Usuario nao encontrado");
                            }
                        }//end success
                    });//end ajax consulta um
                }
        }
    }
    
// Remover Usuario
$('body').delegate('a[href=#remover-usuario]', 'click', function(event) {
    event.preventDefault();
    $("#dialog-remover").attr({
       "data-id": $(this).attr('data-id'),
       "data-tipo": "usuario"
    }).dialog('open');
});


// Busca
$("#form-usuario-busca").validate({
    rules: {
        nome: { required: true, minlength: 3 }
    },
    errorPlacement: function(error, element) {
    },
    submitHandler: function(form) {
        var form3 = $(form).serializeArray();

        $.ajax({
          url: '../Ajax?tipo=usuario&acao=busca',
          type: 'POST',
          data: form3,
          success: function (data) {
            if( data!="false" ) {
                var parsedData = JSON.parse(data);
                    var toMSG = '';
                $.each(parsedData, function(index, item){

                        toMSG += '<tr data-id="'+item.id+'">';
                        toMSG += '  <td>'+item.nome+'</td>';
                        toMSG += '  <td>';
                        toMSG += '    <a class="table-remover" data-id="'+item.id+'" href="#remover-usuario" title="Remover">Remover</a>';
                        toMSG += '    <a class="table-editar" data-id="'+item.id+'" href="./usuario-editar.jsp?u_id='+item.id+'" title="Editar">Editar</a>';
                        toMSG += '  </td>';
                        toMSG += '</tr>';

                });

                $("tbody").html(toMSG).parent().show();
            } else {
                $("#dialog-alert")
                          .dialog("open")
                          .html("Nada encontrado");
            } //endif
          },
        });
    }// end submithandler
});//end form busca


// Cadastro Cliente
$("#form-cadastro").validate({
  rules: {
    nome:     { required: true, minlength: 3 },
    email:    { required: true, email: true, uniqueUserName: true},
    telefone: { required: true, minlength: 6 },
    endereco: { required: true, minlength: 2 },
    senha:    { required: true, minlength: 6},
    senha2:   { required: true, equalTo: '#senha'}
  },
  messages: {
    nome: {
      required: 'Insira um Nome',
      minlength: jQuery.format("Nome com no minimo {0} caracteres")
    },
    email: {
      required: 'Insira um E-mail',
      email: 'Email invalido',
      remote: "E-mail ja esta cadastrado"
    },
    telefone: {
      required: 'Insira um Telefone',
      minlength: jQuery.format("Telefone com no minimo {0} caracteres")
    },
    endereco: {
      required: 'Insira um Endereco',
      minlength: jQuery.format("O Endereco deve ter no minimo {0} caracteres")
    },
    numero: {
      required: 'Insira um numero',
    },
    senha: {
      required: 'Digite uma Senha',
      minlength: jQuery.format("Senha com no minimo {0} caracteres")
    },
    senha2: {
      required: 'Repita a senha',
      equalTo: 'As senhas nao sao iguais'
    }
  },
  errorPlacement: function(error, element) {
  },
  submitHandler: function(form) {
      var form3 = $(form).serializeArray();

      $.ajax({
        url: '../Ajax?tipo=usuario&acao=cadastro',
        type: 'POST',
        data: form3,
        success: function (data) {
            console.log(data);
            if( data=="true" || data=="cliente" || data=="admin" ) {
                $(form).trigger("reset");
                $("#dialog-alert")
                        .dialog("open")
                        .html("Cadastro efetuado com sucesso.");
                $(form).find('.valid').removeClass('valid');
            } else {
                $("#dialog-alert")
                        .dialog("open")
                        .html("Houve um erro ao fazer o cadastro.");
            }
        },
      });
  }
  // success: function(label) {label.remove()}
}); //End Cadastro Cliente






// Editar Cliente
$("#form-usuario-editar").validate({
  rules: {
    nome:     { required: true, minlength: 3 },
    email:    { required: true, email: true,},
    telefone: { required: true, minlength: 6 },
    endereco: { required: true, minlength: 2 },
    senha:    { minlength: 6},
    senha2:   { equalTo: '#senha'}
  },
  messages: {
    nome: {
      required: 'Insira um Nome',
      minlength: jQuery.format("Nome com no minimo {0} caracteres")
    },
    email: {
      required: 'Insira um E-mail',
      email: 'Email invalido',
    },
    telefone: {
      required: 'Insira um Telefone',
      minlength: jQuery.format("Telefone com no minimo {0} caracteres")
    },
    endereco: {
      required: 'Insira um Endereco',
      minlength: jQuery.format("O Endereco deve ter no minimo {0} caracteres")
    },
    numero: {
      required: 'Insira um numero',
    },
    senha: {
      minlength: jQuery.format("Senha com no minimo {0} caracteres")
    },
    senha2: {
      equalTo: 'As senhas nao sao iguais'
    }
  },
  errorPlacement: function(error, element) {
  },
  submitHandler: function(form) {
      var form3 = $(form).serializeArray();

      $.ajax({
        url: '../Ajax?tipo=usuario&acao=editar',
        type: 'POST',
        data: form3,
        success: function (data) {
            console.log(data);
            if( data=="true" ) {
                $(form).trigger("reset");
                $("#dialog-alert")
                        .dialog("open")
                        .html("Usuario editado com sucesso.");
                $(form).find('.valid').removeClass('valid');
            } else {
                $("#dialog-alert")
                        .dialog("open")
                        .html("Houve um erro ao atualizar o cadastro.");
            }
        },
      });
  }
  // success: function(label) {label.remove()}
}); //End Editar Cliente

});